//package com.ta.gulimall.cart.component.exception;
//
//import com.ta.common.enums.BizCodeEnums;
//import com.ta.common.utils.system.R;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.context.support.DefaultMessageSourceResolvable;
//import org.springframework.validation.FieldError;
//import org.springframework.web.bind.MethodArgumentNotValidException;
//import org.springframework.web.bind.annotation.ExceptionHandler;
//import org.springframework.web.bind.annotation.RestControllerAdvice;
//
//import java.util.Map;
//import java.util.stream.Collectors;
//
//import static com.ta.common.enums.BizCodeEnums.VAILD_EXCEPTION;
//
//@RestControllerAdvice(basePackages = {"com.ta.gulimall"})
//@Slf4j
//public class gulimallControllerAdvice {
//
//    @ExceptionHandler(value = MethodArgumentNotValidException.class)
//    public R handValidException(MethodArgumentNotValidException e){
//        Map<String, Object> map = e.getFieldErrors().stream().collect(Collectors.toMap(FieldError::getField, DefaultMessageSourceResolvable::getDefaultMessage));
//        return R.error(VAILD_EXCEPTION.getCode(), VAILD_EXCEPTION.getMessage()).put("data", map);
//    }
//
//    @ExceptionHandler(value = RuntimeException.class)
//    public R unknownException(RuntimeException e){
//        log.error("系统异常 " + e.getMessage(), e);
//        return R.error(BizCodeEnums.FAILURE_EXCEPTION.getCode(), e.getMessage());
//    }
//
//    @ExceptionHandler(value = Exception.class)
//    public R unknownException(Exception e){
//        log.error("系统异常 " + e.getMessage(), e);
//        return R.error(BizCodeEnums.FAILURE_EXCEPTION.getCode(), BizCodeEnums.FAILURE_EXCEPTION.getMessage());
//    }
//
//}
